\newpage
\centerline{\large{前 \hspace{2em} 言}}

2018年学院成立了信息安全专业，同年开始第一次招生，2020年春季学期开始上“现代密码学”一课，后将课程名称改为“密码学基础”，在备课中形成此讲义。内容是在参考已有教材的基础上，按照自己对课程理解组织而成，希望符合本科生的特点。\par
本科密码学重点应该使学生了解各类密码算法和协议设计的基本思想，了解密码发展的脉络，能够看懂设计好的密码算法，能够编程进行实现基本密码算法，了解常用的几种密码分析方法。同时学生也应该了解与密码应用有关的法律、法规、标准(特别是一些评价和测评标准)等内容。\par
在编写此讲义的过程中，基本思路，预期达到的目的是：\par
\begin{enumerate}
	\item 学生能够通过查阅相关基础材料，看懂一个密码算法、协议。
	\item 学生能够编程实现一个密码算法、协议。算法的实现应该是基本能力要求，所以在授课中特别注意了实验课程的安排，本课程实验让学生通过码云（gitee）提交，主要是让同学们能够熟悉一些常用的工程工具。通过使用GNU MP库来实现基本算法，一是让学生了解如何使用第三方库来实现算法，二是没有用封装粒度更大的库，是想让学生了解一下算法底层实现细节。。
	\item 学生了解常用的密码分析方法，并能够编程实现常见的分析算法。
	\item 在讲义中有时会直接拷贝原始文献的内容，主要目的是想通过原始文献的内容，让学生更多了解、体会解决问题的思路和过程，而不是只了解结论。鼓励学生去看原始文献。考虑到由于时间的限制，阅读原始文献在语言上会对学生造成一定的障碍，产生找一些志愿者一起将经典文献翻译为中文的想法，目前已经翻译几篇，可公开下载，项目网页为\url{http://uisu.gitee.io/infsecclat}。
	\item 对密码相关法律、法规、标准(特别是一些评价和测评标准)有所了解。
\end{enumerate}
\par
在整理本书的过程中，我将觉得帮助大的资料直接放到本书里，并且给出了链接，这些资料在学习相关概念时帮助很大，有兴趣的同学可从这些点上扩展开来。\par

还有些资料没有放在正文里面，放在附录，这些资料的目的是希望能够扩展一下阅读，扩展启发一下思路，特别是对英文的一些术语有所了解，因为毕竟很多原始文献是来自于英文，在学习中积累一些专业词汇，有利于大家后面开展深入研究。\par

我在讲此课时的内容编排，可以看我的课程网页\url{https://uisu.gitee.io/lxf/moderncrypto.html}。

本讲义的PDF格式的最新版可以从课程主页下载。为了方便大家在讲课、学习中使用本讲义，本讲义的tex文件上传到码云上(\url{https://gitee.com/uisu/modern_cryptography_free_book})，希望对大家有所帮助。\par

由于水平有限，在整理此讲义过程中，难免会出现错误，请大家不吝指出。\par

\newpage